package com.shop.shoporder.service;

import com.shop.shoporder.common.Response;
import com.shop.shoporder.entity.order.Cart;
import com.shop.shoporder.entity.order.Order;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderService {
    int deleteByPrimaryKey(Integer orderId);

    int insert(Order record);
    int updatePayType(@Param("payType") Integer payType, @Param("orderNo")String orderNo);
    int insertSelective(Order record);

    Order selectByPrimaryKey(Integer orderId);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    Response addOrder(Map<String, String> map, HttpServletRequest request) throws  Exception;
    Response adminAddOrder(Map<String, String> map, HttpServletRequest request) throws  Exception;
    Order selectByOrderNo(String orderNo);
    Order selectByOrderNoAsDetails(String orderNo);
    List<Order> selectOrderNumber(@RequestParam Map<String,String> map,HttpServletRequest request);
    Response cancelOrder(Map<String, String> map, HttpServletRequest request) throws  Exception;
    Response sureConfirm(Map<String, String> map, HttpServletRequest request) throws  Exception;
    List<Order> selectByOrderStatus(Order record);
    List<Order> selectByOrderStatus1(Order record);
    List<Order> selectCancelOrder28(Order record);
    int upAutoReceivingGoods(@Param("payFinishTime") Date payFinishTime,@Param("orderNoList") List<String> orderNoList,@Param("orderStatus") String orderStatus);
    int upAutoCancalOrder(@Param("cancelTime") Date cancelTime,@Param("orderNoList") List<String> orderNoList,@Param("orderStatus") String orderStatus);
    int upOrderFrom(@Param("orderFromTime") Date orderFromTime,@Param("orderNoList") List<String> orderNoList);
    List<Order> selectOrderCheck(Date ptime);
    List<Order> adminSelectOrderList(@RequestParam Map<String,String> map,HttpServletRequest request);
    List<Order> adminSelectOrderShopList(@RequestParam Map<String,String> map,HttpServletRequest request);
    List<Order> adminSelectOrderList1(@RequestParam Map<String,String> map,HttpServletRequest request);
    int updateOrderStatus1(@Param("orderStatus") String orderStatus,@Param("deliveryTime") Date deliveryTime,@Param("orderList") List<String> orderList);

}
